package practice.hospital;

import java.util.StringJoiner;

public class Hospital {

    public static float[] generatePatientsTemperatures(int patientsCount) {
        float[] temperatures = new float[patientsCount];

        for (int i = 0; i < temperatures.length; i++) {
            temperatures[i] = (float) Math.random() * (40 - 32) + 32;
        }

        return temperatures;
    }

    public static String getReport(float[] temperatureData) {
        /*
        TODO: Напишите код, который выводит среднюю температуру по больнице,количество здоровых пациентов,
            а также температуры всех пациентов.
            Округлите среднюю температуру с помощью Math.round до 2 знаков после запятой,
            а температуры каждого пациента до 1 знака после запятой
        */

        float healthyMin = 36.2F;
        float healthyMax = 36.9F;

        StringJoiner temperatures = new StringJoiner(" ");
        float averageTemperature = 0;
        int healthyCount = 0;

        for (float temperature : temperatureData) {
            temperatures.add(String.valueOf(Math.round(temperature * 10) / 10.0));
            averageTemperature += temperature;

            if (temperature >= healthyMin && temperature <= healthyMax) {
                healthyCount++;
            }
        }

        averageTemperature /= temperatureData.length;

        String report =
            "Температуры пациентов: " + temperatures +
            "\nСредняя температура: " + Math.round(averageTemperature * 100) / 100.0 +
            "\nКоличество здоровых: " + healthyCount;

        return report;
    }
}
